// components/step.js
Component({
  lifetimes: {
    attached: function () {
      // 在组件实例进入页面节点树时执行
      if (this.properties.initNum) {
        this.setData({
          num: this.properties.initNum
        })
      }
    },
    detached: function () {
      // 在组件实例被从页面节点树移除时执行
    },
  },

  /**
   * 组件的属性列表
   */
  properties: {
    initNum: {
      type: Number,
    }
  },

  /**
   * 组件的初始数据
   */
  data: {
    num: 0
  },

  /**
   * 组件的方法列表
   */
  methods: {
    handleAdd() {
      this.data.num++
      this.setData({
        num: this.data.num,
        initNum: this.data.num
      })
      this.triggerEvent('handleNumChange', this.data.num)
    },
    handleReduce() {
      if (this.data.num > 0) {
        this.data.num--
        this.setData({
          num: this.data.num
        })
        this.triggerEvent('handleNumChange', this.data.num)
      }
    }
  }
})